#include "commonuse.h"
// int main()
// {
//     int a = 10;
//     char arr[5];
//     arr[0] = *(char*)(&a);
//     printf("&a = %p\n&arr[0] = %p\n&arr[1] = %p\n",&a,arr,arr+1);//1C,17,18
//     //首先，我们知道对于局部变量书存储在栈里面，栈存储的方式是下面的，也就是说，先声明的地址更小，后声明的地址更大
//     //这也符合栈地址增长的特点，然后就是小端储存，因为不同机器，大小端不同，一个数据存放的情况在一个8bit位上就可以不同
//     //00 00 00 01 与01 00 00 00 都表示1。

//     system("pause");
//     return 0;
// }

// union a
// {
//     int d ;
//     char c[3];
// }b;
// int main()
// {
//     b.c[2] = 10;
//     printf("%d\n",b.d);
//     printf("%d\n",10<<16);
    
//     system("pause");
//     //结果655360,和10右移16位刚好相同，这恰恰说明是小端储存，因为这里是公用内存
//     //所以改了第三个字节，我们知道，在数组里面，地址是递增的，同时也是int的内存，因此int也发生改变
//     return 0;
// }

//遗留问题，大小端储存的数组都是小地址在前面吗？